Using Design Patterns to Evolve System Software from UNIX to Windows NT
نویسندگان
چکیده
Developing system software that is reusable across OS platforms is challenging. Due to constraints imposed by the underlying OS platforms, it is often impractical to directly reuse existing algorithms, detailed designs, interfaces, or implementations. This article describes our experiences using a large-scale reuse strategy for system software based on design patterns. Design patterns capture the static and dynamic structures of solutions that occur repeatedly when producing applications in a particular context [1, 2]. Design patterns are an important technique for improving system software quality since they address a fundamental challenge in largescale software development: communication of architectural knowledge among developers [3]. This article describes our experiences with a large-scale reuse strategy based upon design patterns. We have used this strategy at Ericsson to facilitate the development of efficient OO telecommunication system software. In this article, we present a case study that describes the cross-platform evolution of portions of an OO framework called the ADAPTIVE Service eXecutive (ASX) [4]. The ASX framework is an integrated collection of components that collaborate to produce a reusable infrastructure for developing distributed applications. This article focuses on the ASX framework’s support for event-driven distributed applications. One of the key components in the ASX framework is the Reactor class category [5]. The Reactor integrates the demultiplexing of events and the dispatching of the corresponding event handlers. Event handlers are triggered by various types of events such as timers, synchronization objects, signals, or I/O operations. We recently ported theASX framework from several UNIX platforms to the Windows NT platform. These OS platforms possess significantly different mechanisms for event demultiplexing and I/O. To meet our performance requirements, it was not possible to directly reuse many of the components in the ASX framework across the OS platforms. However, it was possible to reuse the underlyingdesign patterns that were embodied in the ASX framework, thereby reducing project risk. The remainder of the article is organized as follows: Section 2 outlines the background of our work using OO frameworks for telecommunications system softare; Section 3.1 presents an overview of the design patterns that are the focus of this article; Section 4 examines the issues that arose as we ported the components in the Reactor framework from several UNIX platforms to the Windows NT platform; Section 5 summarizes the experience we gained, both pro and con, while deploying a design pattern-based system development methodology in a production software environment; and Section 6 presents concluding remarks.
منابع مشابه
Experience Using Design Patterns to Evolve Communication Software Across Diverse OS Platforms
Design patterns help to improve communication software quality since they address a fundamental challenge in largescale software development: communication of architectural knowledge among developers. This paper makes several contributions to the study and practice of design patterns. It presents a case study that illustrates how design patterns helped to reduce development effort and project r...
متن کاملAchieving Reuse Through Design Patterns A Case Study of Evolving Object-Oriented System Software Across OS Platforms
Building system software that is reusable across OS platforms presents developers with many challenges. It is often difficult to reuse existing interfaces and implementations directly due to portability, functionality, and efficiency constraints imposed by different platforms and applications. It may still be possible, however, to leverage prior development effort by reusing design patterns. De...
متن کاملNT-SwiFT: software implemented fault tolerance on Windows NT
More and more high available applications are implemented on Windows NT. However, the current version of Windows NT (NT4) does not provide some facilities that are needed to implement these fault tolerant applications. In this paper, we describe a set of components collectively named NT-SwiFT (Software Implemented Fault Tolerance) which facilitates building fault-tolerant and highly available a...
متن کاملAn Approach for Analyzing the Robustness of Windows NT Software
Today, the vast majority of software executing on defense systems is untrusted commercial o -the-shelf software such as Microsoft Windows software. Vulnerabilities in this software may be exploited to gain unauthorized access to security-critical systems. A number of studies have analyzed the robustness of software that run on Unix systems. The results of these studies have pointed to vulnerabi...
متن کاملTesting the robustness of Windows NT software
To date most studies on the robustness of operat ing system software have focused on Unix based sys tems This paper develops a methodology and ar chitecture for performing intelligent black box analy sis of software that runs on the Windows NT plat form The goals of the research are three fold rst to develop intelligent robustness testing techniques for Commercial O The Shelf COTS software seco...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995